/*
 * @Author: xym100111100 253274870@qq.com
 * @Date: 2024-03-19 10:23:53
 * @LastEditors: xym100111100 253274870@qq.com
 * @LastEditTime: 2024-08-18 16:47:42
 * @FilePath: \RuoYi-Vue3\src\api\system\menu.ts
 * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
 */
import request from '@/utils/request'


export type MenuObj = {
  menuId: number;
  parentId?: number;
  menuName?: string;
  icon?: string;
  menuType?: string;
  orderNum?: string;
  isFrame?: string;
  isCache?: string;
  visible?: string;
  status?: string;
  query?: string;
  perms?: string;
  component?: string;
  path?: string;
  children?: MenuObj[];
};

export type TreeMenuObj = {
  id: number;
  label: string;
  children?: TreeMenuObj[];
};


// 查询菜单列表
export function listMenu(query:MenuObj) {
  return request({
    url: '/system/menu/list',
    method: 'get',
    params: query
  })
}

// 查询菜单详细
export function getMenu(menuId:number) {
  return request({
    url: '/system/menu/' + menuId,
    method: 'get'
  })
}

// 查询菜单下拉树结构
export function treeselect() {
  return request({
    url: '/system/menu/treeselect',
    method: 'get'
  })
}

// 根据角色ID查询菜单下拉树结构
export function roleMenuTreeselect(roleId:string) {
  return request({
    url: '/system/menu/roleMenuTreeselect/' + roleId,
    method: 'get'
  })
}

// 新增菜单
export function addMenu(data:MenuObj) {
  return request({
    url: '/system/menu',
    method: 'post',
    data: data
  })
}

// 修改菜单
export function updateMenu(data:MenuObj) {
  return request({
    url: '/system/menu',
    method: 'put',
    data: data
  })
}

// 删除菜单
export function delMenu(menuId:number) {
  return request({
    url: '/system/menu/' + menuId,
    method: 'delete'
  })
}